package com.song.tools.export.api.request;

import com.song.tools.export.api.core.StatusEnum;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;

/**
 * 导出任务保存请求体
 *
 * @author song tools
 * @since 2024-07-05
 */
@Data
@Schema(title = "ExportTaskSaveRequest", description = "导出任务保存请求体")
public class ExportTaskSaveRequest implements Serializable {

    @Serial
    private static final long serialVersionUID = 5769913557197324013L;

    /**
     * 标题
     */
    @Schema(title = "title", description = "标题", requiredMode = Schema.RequiredMode.REQUIRED)
    private String title;

    /**
     * 租户ID
     */
    @Schema(title = "customerId", description = "租户ID", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long customerId;

    /**
     * 系统编码
     */
    @Schema(title = "systemCode", description = "系统编码", requiredMode = Schema.RequiredMode.REQUIRED)
    private String systemCode;

    /**
     * 客户标记的唯一业务ID
     */
    @Schema(title = "businessId", description = "客户标记的唯一业务ID", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long businessId;

    /**
     * 类型
     */
    @Schema(title = "type", description = "类型", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer type;

    /**
     * 用户ID
     */
    @Schema(title = "userId", description = "用户ID", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long userId;

    /**
     * 用户名
     */
    @Schema(title = "userName", description = "用户名", requiredMode = Schema.RequiredMode.REQUIRED)
    private String userName;

    /**
     * 状态
     */
    @Schema(title = "status", description = "状态", requiredMode = Schema.RequiredMode.REQUIRED)
    private StatusEnum status;

    /**
     * 文件地址
     */
    @Schema(title = "fileUrl", description = "文件地址")
    private String fileUrl;

    /**
     * 导出条件
     */
    @Schema(title = "exportCondition", description = "导出条件")
    private String exportCondition;
}
